# -*- coding: utf-8 -*-
import json
from openai import OpenAI

#图中名字《重点行业判断》
#判断是否属于重点行业
#重点行业是自己的标，前12类（一共13类）
class agentIndustryClassBinary():
    def __init__(self):
        self.client = OpenAI(api_key="sk-de3197a618e3436f8a76b482a17da844", base_url="https://api.deepseek.com/beta")

    def run(self, companyName, product, business, industry):
        # 输入整理
        if not product:
            product = "未提及"
        if not business:
            business = "未提及"
        if not industry:
            industry = "未提及"
        systemPrompt = """
# 角色
行业分析专家

# 技能
1. 具有丰富的行业分析的背景知识；
2. 擅长根据提供的信息，准确的分析出公司所归属的行业是“制造与科技类”或“社会类”； 

# 公司产品格式
以“;”分割多个产品，每个产品格式为“产品名（产品概述）”，当产品概述不存在时，格式为“产品名”。

# 分类要求
1. **制造与科技类**：包括但不限于以下行业：
```
机械设备与制造包括专用设备、电气设备、精密零件、通用机械设备及模具制造等领域的机械设备与零件设计、生产与制造；
电子信息行业涵盖了半导体、电子元件、电子器件、集成电路、计算机、通信设备及各种电子设备的设计、生产和制造；
新一代信息技术行业包括了5G通信、人工智能、大数据与云计算、物联网、区块链、虚拟现实、智能交通系统以及可穿戴智能设备等领域的技术研发、软件开发、设备制造和服务提供；
大健康产业涵盖了医疗器械制造、生物医药研发与制造、保健食品与护理服务、医疗美容服务、中医药研发与制造以及健康管理与咨询服务等多个领域；
装备制造涵盖了海洋工程装备、机器人、商用航天器、数控机床、特高压输变电设备、海洋工程技术服务、轨道交通装备、无人机、工程机械、农业机械、纺织机械、增材制造技术及航空发动机等多个领域的设计、制造与服务；
新材料领域包括无机非金属材料、有色金属材料、石化化工新材料、钢铁材料、高性能纤维及复合材料、前沿新材料、新材料研发服务、生物基材料以及特种功能材料的制造与服务；
检验检测行业包括工业产品、建筑材料、消费品、生命科学等领域的质量检测、性能测试及相关检测仪器与耗材的制造；
能源环保行业涵盖清洁能源技术、新能源汽车充电设施、废弃物回收处理、水资源管理与净化、环境监测保护以及节能技术和产品的研发与应用；
汽车产业涵盖从整车到零部件，包括传统燃油车和新能源车的动力系统、底盘系统、电子电气系统、车身设计与制造以及材料与配件的全面制造；
仪器仪表行业涵盖了从专业科学仪器到通用测量仪器，以及其他如光学、衡器、钟表与计时、医疗检测等领域的精密测量与控制设备制造；
建筑业包括房屋建筑、土木工程、建筑安装、建筑装饰装修以及建筑工程咨询与管理等领域的建设和维护；
传统制造业涵盖了食品、饮料、烟草、纺织、皮革、木材、家具、造纸、印刷、文教用品、燃料、化工、化学纤维、橡胶和塑料、非金属矿物、金属制品及修理、包装材料等行业的生产和加工；
```
2. **社会类**：包括以下行业：
```
金融业；
教育、课程、培训、学校；
贸易、电商、外贸、销售、代理、批发与零售业；
新闻业、传媒、文化、体育和娱乐业；
住宿业、餐饮业、房屋租赁、物业管理；
卫生、医院和社会工作行业；
公共管理、社会保障、社会组织和国际组织；
```

# 指令
1. 结合'公司名称'、'主营业务'和'主要行业'的含义，理解每个'公司产品'是在该含义所涉及的行业范围内的产品；
2. 理解'分类要求'中“制造与科技类”和“社会类”的含义；
3. 根据'公司名称'、'主营业务'、'主要行业'和'公司产品'，按照“分类要求”，判断公司所属主要行业是“制造与科技类”或“社会类”；
4. 按照JSON格式判定公司所属主要行业的类别，JSON格式为“{"class":"制造与科技类/社会类"}”，请确保输出的内容格式正确和内容准确。

# 分类示例：
1. 公司名称中含有教育、课程、培训、学院或学校等类似描述，符合“教育、课程、培训、学校”，判定为“社会类”；
2. 公司名称中含有电商、商贸、贸易、外贸、销售、代理、批发或零售，符合“贸易、电商、外贸、销售、代理、批发与零售服务业”，判定为“社会类”；
3. 公司产品或服务中涉及装备、机械、电子、信息、科技、检测、健康、环保、能源、汽车、仪器仪表等，公司信息中有生产或制造描述，判定为“制造与科技类”。

# 示例
## 行业分类标签示例
['机械设备与零件|电气设备|电机制造', '汽车产业|新能源汽车零部件|新能源动力电池制造', '机械设备与零件|电气设备|电线、电缆、光缆及电工器材制造', '机械设备与零件|电气设备|电池制造', '机械设备与零件|电气设备|照明器具制造']

## 公司名称示例
广州市虎头电池集团股份有限公司

## 公司产品示例
大号碱性电池（持久耐用绿色环保）;五号碱性电池（持久耐用绿色环保）;七号碱性电池（持久耐用绿色环保）;九伏碱性电池（持久耐用绿色环保）;大号高功率电池（燃气炉热水器适用）;五号高功率电池（充足电力美观实用）;汽车蓄电池（汽车电瓶蓄电池免维护）

## 主营业务示例
广州市虎头电池集团股份有限公司是中国干电池行业的骨干企业，拥有自营进出口权，年销售干电池超60亿只，外贸额超4亿美元，其销量、出口量、出口额、业务收入等在中国干电池行业名列前茅，名列中国对非洲出口企业百强榜第7位。公司主要产品有干电池系列、蓄电池系列、电池原材料系列、照明系列、电池用电器具系列、应急电源系列、太阳能系列、运动品系列、日用品系列和食品系列等十大系列的产品。公司致力于提供持久耐用、绿色环保的电池产品，满足各种应用需求，包括家庭、工业和特殊用途。

## 主要行业示例
广州市虎头电池集团股份有限公司属于电池制造行业，专注于干电池和蓄电池的生产与销售。公司在电池行业中具有显著的市场地位和影响力，产品广泛应用于家庭、工业、照明、应急电源等多个领域。公司还涉及电池原材料、电池用电器具、太阳能产品等多个细分行业，是中国对非洲出口企业百强榜中的重要成员。

## 输出示例
{"class":"制造与科技类"}
        """

        words = """
# 公司名称
%s

# 公司产品
%s

# 主营业务
%s

# 主要行业
%s

请按照'指令'，判定公司所属主要行业的类别。
注意：公司所属主要行业只能是“制造与科技类”或“社会类”中的一种。""" % (companyName, product, business, industry)
        response = self.client.chat.completions.create(
            model="deepseek-chat",
            messages=[
                {'role': 'system', 'content': f'{systemPrompt}'},
                {'role': 'user', 'content': f'{words}'}],
            temperature=0.1,
            response_format={"type": "json_object"}
        )
        res = {}
        try:
            res = json.loads(response.choices[0].message.content)
            return res
        except Exception as e:
            log = "ERROR agentIndustryClassBinary.run(%s): %s"%(companyName, e)
            if res:
                self.logs = self.logs + str(res) + "\n"
            self.logs = self.logs + log + "\n"
            return {}
    def check(self, r):
        res = ""
        if ("class" in r) and (r["class"] in ["制造与科技类", "社会类"]):
            return r["class"]
        else:
            log = "[ERROR]agentIndustryClassBinary.check(class格式错误)"
            self.logs = self.logs + log + "\n"
        return res

    def progress(self, companyName, product, business, industry):
        self.logs = ""
        res = self.run(companyName, product, business, industry)
        res = self.check(res)
        return res, self.logs



if __name__ == "__main__":
    # companyName = "宁波海外贸易有限公司"
    # product = "轴管通（轴承行业数字化系统）;易紧固（紧固件行业数字化系统）;液压宝（液压行业数字化系统）;大圣SASS云平台;大圣云ERP;大圣云MES;大圣云WMS;大圣机联网系统;供应商协同平台;学习分享平台;大圣PASS云平台;在线表单开发平台;在线报表开发平台;在线大屏开发平台;在线工作流引擎;在线移动端APP开发平台;壁挂式工位机;立式工位机（报工台）;电子看板;手持（PDA）及扫码枪;工业平板;打印机;数采网关"
    # business = "宁波聚轩信息科技有限公司专注于制造业数字化管理领域，提供包括ERP、MES、WMS等在内的全面数字化解决方案，致力于帮助中小制造业提升管理水平，提高运营效益，降低制造成本。公司产品涵盖行业数字化系统、云平台、智能硬件等多个领域，通过数据自动化采集、可视化呈现和智能化应用，实现生产过程的精细化管理，提高生产效率和产品质量。"
    # industry = "宁波聚轩信息科技有限公司主要涉及信息技术行业，专注于制造业的数字化转型，特别是在工业互联网、智能制造、工业软件开发等领域。公司提供的产品和服务广泛应用于轴承、紧固件、液压、汽车零部件等多个细分行业，帮助企业实现数字化管理和智能化生产。"


    companyName = "上海山昆商贸发展有限公司杭州分公司"
    product = "诺得胶囊（获得国家专利号）;青春伴侣酒神伴侣（排毒降酸胶囊）;螺旋藻系列;蛇酒系列"
    business = "上海山昆商贸发展有限公司杭州分公司主营健康食品，以倡导绿色健康、提高生活品质、服务社会各界为己任。公司以武夷山为生产基地，上海和杭州为点，长江三角洲为面，实业作基础，商贸筑平台，市场需求为导向，构建商品通路为根本，凝聚人才为核心。公司现具有数十亿的健康系列食品的年生产能力，和相关配套的闽北武夷山脉全天然无污染的养殖基地，拥有自己的产品研发团队，并与福建高校生物专业有着广泛的技术交流和合作，部分产品获国家专利。"
    industry = "上海山昆商贸发展有限公司杭州分公司属于食品行业，专注于健康食品的生产与销售，特别是在植物提取物和健康食品领域。公司以武夷山为生产基地，利用闽北武夷山脉全天然无污染的资源，生产具有国家专利的健康食品，如诺得胶囊系列和螺旋藻系列等。公司在健康食品行业中具有一定的生产能力和市场影响力。"
    agent = agentIndustryClassBinary()
    r,logs = agent.progress(companyName, product, business, industry)
    print(r)
    print(logs)

